The present invention relates to capacity management on a network and more particularly to a method and system for reducing the size of reports generated in order to describe the performance of a particular system in the network.
Capacity management is of increasing interest for a network containing a plurality of systems. Capacity management refers to the monitoring of and upkeep of systems in a network and the network as a whole. The network may contain servers, computer systems for individual users of the network, mainframes, printers, or other systems. Depending on the size of the network, the network could be made up of only a few systems or thousands of systems. A user known as a network administrator is typically responsible for ensuring that individual portions of the network function and that the network as a whole functions.
In order to ensure that the network functions, a user can examine performance data for the systems in the network. In particular, a user such as a network administrator keeps track of monitors for each system. A monitor is an attribute of a particular system. For example, monitors include central processing unit (xe2x80x9cCPUxe2x80x9d) utilization, disk space available, disk work load, the number of bytes sent by the system, and the number of bytes received by the system. Typically, the monitors of each system vary over time.
Previously, the user employed a mainframe for capacity management. More recently, conventional applications which allow a user to perform capacity management without requiring a mainframe have been developed. Such conventional applications allow to a user employ a system in the network to query the systems within the network and receive information relating to each system""s monitors. A user receives information relating to performance data by requesting performance data from selected systems. Typically, a user formulates such a conventional request by including the type of data in which the user is interested and the time period over which the user wishes to receive data. For example, the type of data requested could include a variety of monitors. The time period for which a user wishes to receive data is typically a day, a week, or a month. The conventional request is then sent from the user""s system to those systems in the network from which the user desires data.
In response to the conventional request, a conventional system generates a conventional report and sends the conventional report to the system of the user formulating the request. In order to be able to generate the conventional report, each system typically saves relating to certain monitors. Typically, data is saved at relatively short intervals, such as every minute or every five minutes. In order to allow a user to determine trends in performance of the system over time, this data is saved for a relatively long period of time, such as the previous day or month. When the conventional request for performance data is received, the system opens a file containing the performance data, selects the appropriate monitors, and writes the values of the monitors to the conventional report. The conventional report is then sent to the user""s system. Once the user has the conventional reports from the selected systems available, the user can determine how the selected systems are performing and, therefore, how the network as a whole is performing.
Although conventional applications allow a user to examine performance data, a system interacting with such a conventional application may generate an extremely large report. For example, suppose the conventional systems save the values of their monitors every five minutes and the time period for which performance data is requested is a year. If the conventional request asks for data for a variety of monitors, then the report from a single conventional system could be several megabytes in length. A user may have requested the conventional report from several systems in the network. These conventional reports may take a great deal of time to send. The user""s system may also wait for these conventional reports to be returned. Thus, system resources are tied up by the conventional reports. This problem is exacerbated if the reports are sent via the internet or other extended network.
Another problem is encountered once the reports reach the user""s system. If a conventional composite report is generated on the user""s system from conventional reports, the user""s system may take a long time to generate the conventional composite report. Where the size of each conventional report is large, the delay in generating the conventional composite may be unacceptable. Moreover, both the conventional reports and the conventional composite report may require a great deal of space in order to be saved. This may also be unacceptable. Finally, if the user wishes to graphically display the contents of the report, a conventional application for graphically displaying data may require an inordinate amount of memory to function. This may also adversely affect system performance. Some of these issues may be overcome by storing data relating to the monitors only once per day on the user""s system, rather than continuously on each system. However, in this case, the network is incapable of producing reports for a user at any given time. Thus, it may be difficult for a user to diagnose problems relating to a particular system or the network as a whole.
Accordingly, what is needed is a system and method for reducing the size of a report containing performance data without unduly sacrificing necessary information. The present invention addresses such a need.
The present invention provides a method and system for requesting, providing, and displaying data relating to performance of a network. In one aspect, the method and system comprise allowing a user to select the at least one system from which data is requested, identify at least one data type for which data is requested, select a sampling interval for sampling data of the at least one data type, and identify a time period for which data of the at least one data type is requested. In this aspect, the method and system may also comprise identifying an inclusion time specifying at least one interval within the time period for which data for the at least one data type is sampled. Also in this aspect, the method and system may also comprise requesting minimum and maximum data. In a second aspect, the method and system comprise receiving a request including the data discussed above. In this aspect, the method and system comprise retrieving at least one data point for the at least one data type if the at least one data type is available on the at least one system and calculating an average value for the sampling interval if there is more than one data point for the sampling interval. In this aspect, the method and system further include saving the average value for the sampling interval in a report and repeating the retrieving, calculating, and saving steps for each sampling interval in the time period. In this aspect, the method and system may also include performing the retrieving, calculating and saving steps only during the inclusion times within the time period. In this aspect, the method and system may also comprise saving minimum and maximum data if requested. In a third aspect the method and system further comprise providing a report including the data saved above for a portion of a plurality of systems on a network and merging the report for each of the portion of the plurality of systems to provide a composite report. When merging the reports, differences in the reports are accounted for. In a fourth aspect, the method and system graphically display the data by plotting at least one average value for each of the at least one data type of each of the portion of the plurality of systems. In this aspect, the method and system may also comprise plotting the minimum value and the maximum value for each average value. Also in this aspect, the method and system may also comprise plotting average values, minimum values and maximum values only for specified inclusion times.
According to the system and method disclosed herein, the present invention is capable of reducing the size of reports generated thereby increasing overall system performance and facilitating capacity management.